package com.yidu.hbats.dao;

import com.yidu.hbats.model.AtsDataBatch;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * auto:ltx
 * 批次dao
 */
public interface AtsDataBatchMapper {
    /**
     * 根据批次id删除
     * @param batchId 批次id
     * @return 结果
     */
    int deleteByPrimaryKey(Integer batchId);

    /**
     * 新增
     * @param record 批次对象
     * @return 结果
     */
    int insert(AtsDataBatch record);

    /**
     * 非空新增
     * @param record 批次对象
     * @return 结果
     */
    int insertSelective(AtsDataBatch record);

    /**
     * 根据id查询
     * @param batchId 批次ID
     * @return 查询结果
     */
    AtsDataBatch selectByPrimaryKey(Integer batchId);

    /**
     * 根据主键修改
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(AtsDataBatch record);
    /**
     * 根据主键修改
     * @param record
     * @return
     */
    int updateByPrimaryKey(AtsDataBatch record);

    /**
     * 根据运动员查询
     * @param athleteId
     * @return
     */
    List<AtsDataBatch> selectAtsKey(Integer athleteId);
    /**
     * 根据体育项目ID和用户ID查询
     * @param atsDataBatch 数据批次
     * @return 数据批次
     */
    List<AtsDataBatch> selectAtsDataCondition(AtsDataBatch atsDataBatch);

    /**
     * 根据体育项目ID和用户ID查询
     * @param atsDataBatch 数据批次
     * @return 数据批次
     */
    List<AtsDataBatch> selectAtsDataComparison(AtsDataBatch atsDataBatch);

    /**
     * 查询总行数
     * @param batch 批次模型
     * @param startDate
     * @param endDate
     * @return 总行数
     */
    Integer overCount(@Param("batch") AtsDataBatch batch,@Param("startDate") String startDate,@Param("endDate") String endDate);

    /**
     * 分页查询批次
     * @param batch 批次模型
     * @return 批次集合
     */
    List<AtsDataBatch> selectFindAll(@Param("batch") AtsDataBatch batch, @Param("startDate") String startDate, @Param("endDate") String endDate);

    /**
     * 根据id删除
     * @param batchId 批次id
     * @return 回执函数
     */
    int deleteById(Integer batchId);

    /**
     * 查询当前天数
     * @param batchDate 当前时间
     * @return 录入数量
     */
    Integer selectDateCount(String batchDate);

    /**
     * 根据批次名称查询
     * @param athleteId
     * @param batchName
     * @return
     */
    Integer atsDataCompare(@Param("athleteId") Integer athleteId,@Param("batchName") String batchName);

    /**
     * 查询当前运动员所有批次
     * @param athleteId
     * @param sportId
     * @return
     */
    List<AtsDataBatch> selectBatch(@Param("athleteId")Integer athleteId,@Param("sportId")Integer sportId);
}